import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 发布版本管理 */
export interface PublishVersion {
    id: number; // 编号
    app_name?: string; // 应用名称
    pre_version?: string; // 前一个版本
    version?: string; // 版本号
    version_type?: string; // 版本类型(normal，date)
    version1?: number; // 版本号第一位
    version2?: number; // 版本号第二位
    version3?: number; // 版本号第三位
    version4?: number; // 版本号第四位
    status?: number; // 任务状态
    result?: string; // 结果数据
    creator?: string; // 创建者
    create_time?: Date; // 创建时间
    updater?: string; // 更新者
    update_time?: Date; // 更新时间
    deleted?: number; // 是否删除
  }

// 发布版本管理 API
export const PublishVersionApi = {

  getPublishVersionList: async (params: any) => {
    return await request.get({ url: `/infra/publish-version/simple-list`, params })
  },
  // 查询发布版本管理文件分页
  getPublishVersionPage: async (params: any) => {
    return await request.get({ url: `/infra/publish-version/page`, params })
  },

  // 查询发布版本管理文件详情
  getPublishVersion: async (id: number) => {
    return await request.get({ url: `/infra/publish-version/get?id=` + id })
  },

  // 新增发布版本管理文件
  createPublishVersion: async (data: PublishVersion) => {
    return await request.post({ url: `/infra/publish-version/create`, data })
  },

  // 修改发布版本管理文件
  updatePublishVersion: async (data: PublishVersion) => {
    return await request.put({ url: `/infra/publish-version/update`, data })
  },

  // 删除发布版本管理文件
  deletePublishVersion: async (id: number) => {
    return await request.delete({ url: `/infra/publish-version/delete?id=` + id })
  },

  /** 批量删除发布版本管理文件 */
  deletePublishVersionList: async (ids: number[]) => {
    return await request.delete({ url: `/infra/publish-version/delete-list?ids=${ids.join(',')}` })
  },

  // 导出发布版本管理文件 Excel
  exportPublishVersion: async (params) => {
    return await request.download({ url: `/infra/publish-version/export-excel`, params })
  }
}